package com.tencent.sr.iris.activity.interfaces.request.group;

import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.Data;

@Data
@ApiModel("团长任务列表三级页面参数-导师视角")
public class AdvisorGroupTaskThirdRequest extends BaseRequest implements Serializable {

    @NotNull(message = "任务id不能为空")
    @ApiModelProperty("任务id")
    @JSONField(name = "task_user_join_record_id")
    private String taskUserJoinRecordId;

    @ApiModelProperty("是否有效 0.无效 1.有效")
    @JSONField(name = "is_valid")
    private Integer isValid;

    @ApiModelProperty("任务开始时间")
    @JSONField(name = "third_part_order_create_start_time")
    private String startTime;

    @ApiModelProperty("任务结束时间")
    @JSONField(name = "third_part_order_create_end_time")
    private String endTime;

    @ApiModelProperty("收益状态 0待分佣 1分佣成功 2分佣取消 3分佣失败")
    @JSONField(name = "commission_status")
    private Integer commissionStatus;

    @ApiModelProperty("订单状态 CREATED：待付款、DELIVER_PENDING：待发货、SENT：待收货、SUCCESS：交易完成、CANCEL：已取消")
    @JSONField(name = "order_status")
    private String orderStatus;

    @ApiModelProperty("订单编号")
    @JSONField(name = "plain_order_id")
    private String plainOrderId;

    @ApiModelProperty("昵称")
    @JSONField(name = "wechat_user_nickname")
    private String wechatUserNickname;

    @ApiModelProperty("贡献状态(1.贡献中,2.已结束)")
    @JSONField(name = "promote_status")
    private Integer promoteStatus;

    @ApiModelProperty("邀请时间开始(成为特邀时间,被邀请时间)")
    @JSONField(name = "promote_user_invite_start_datetime")
    private String promoteUserInviteStartDatetime;

    @ApiModelProperty("邀请时间结束(成为特邀时间,被邀请时间)")
    @JSONField(name = "promote_user_invite_end_datetime")
    private String promoteUserInviteEndDatetime;

    @ApiModelProperty("任务类型 1=拉新+首购, 2=拉新+复购，3=GMV，4=销量件数, 5=见习会员晋升, 6=初级会员晋升, 7=高级会员晋升，"
            + "8=粉丝首购人数，9=派奖工具，10=普通团推团，11=特邀团推团")
    @JSONField(name = "task_target_evaluation")
    private Integer taskTargetEvaluation;

    @ApiModelProperty("阶段")
    @JSONField(name = "rule_stage_num")
    private Integer ruleStageNum;

    @ApiModelProperty("排行榜专用是否有效 0.无效 1.有效")
    @JSONField(name = "is_in_leaderboard")
    private Integer isInLeaderboard;

    @ApiModelProperty("周期业绩id")
    @JSONField(name = "task_user_cycle_performance_id")
    private String taskUserCyclePerformanceId;
}
